<?php
/**
 * Modelo CRUD de artigo
 * @author Emanuel Melo @ PC4 Team
 */
class PC4_Crud_Artigo extends PC4_Crud_Upload {
	
	public function __construct($caminho = '', $tabela = 'artigos') {
		parent::__construct($caminho, $tabela);

	}
	
	public function lista($pagina = 1, $limite = 30, $debug = false) {
		$this->db->select(
			  $this->letra . '.*,
			  c.id AS idCanal,
			  c.nome AS nomeCanal,
			  u.id AS idColunista,
			  u.nome AS nomeColunista,
			  (
			    SELECT
			      COUNT(*)
			    FROM
			      comentarios c2
			    WHERE
			      c2.id_artigos = ' . $this->letra . '.id
			  ) AS totalComentarios', false
		);
		$this->db->join('canais c', 'c.id = ' .$this->letra . '.id_canais', 'inner');
		$this->db->join('usuarios u', 'u.id = ' .$this->letra . '.id_usuarios', 'inner');
		
		return parent::lista($pagina, $limite, $debug);
	}
	
	function insere($umRegistro) {
		$umRegistro['slug'] = $this->slug($umRegistro['titulo']);
		$umRegistro['imagem'] = $this->trataUpload($umRegistro, 'imagem');
		$umRegistro['arquivo'] = $this->trataUpload($umRegistro, 'arquivo', array('pdf'));
		return parent::insere($umRegistro);
	}
	
	
	function edita($umRegistro, $valor, $campo = 'id', $debug = false) {

		$umRegistro['slug'] = $this->slug($umRegistro['titulo'], $valor);
		// Upload da imagem
		if(!empty($umRegistro['apaga_imagem'])){
			$umRegistro['imagem'] = "";
			unset($umRegistro['apaga_imagem']);
		}
		else {
			if (!empty($umRegistro['imagem']['name'])) {
				$umRegistro['imagem'] = $this->trataEditaUpload($umRegistro, 'imagem', 'imagem', $valor);
			}
			else {
				unset($umRegistro['imagem']);
			}
		}
		
		// Upload de arquivo de anexo
		if(!empty($umRegistro['apaga_arquivo'])){
			$umRegistro['arquivo'] = "";
			unset($umRegistro['apaga_arquivo']);
		}
		else {		
			if(!empty($umRegistro['arquivo']['name'])){
				$umRegistro['arquivo'] = $this->trataEditaUpload($umRegistro, 'arquivo', 'arquivo', $valor, array('pdf'));
			}
			else {
				unset($umRegistro['arquivo']); 
			}
		}

		return parent::edita($umRegistro, $valor, $campo, $debug);
	}
	
}

?>